<?php
/*
 * 専用クラス定義ファイル
 */


/**
 * CallBack型
 * コールバック関数を保持する。
 */
class _callback{
	private $Object;
	private $Name;
	/**
	 * コンストラクタ
	 */
	public function __construct (&$Object, $Name) {
		$this->Object = $Object;
		$this->Name = $Name;
	}
	public function call () {
		$Args = func_get_args();
		$Return = call_user_func_array(array($this->Object, $this->Name), $Args);
		return $Return;
	}
}

/**
 * Array型 配列オブジェクト
 */
class _array{
	private $Arr;
	public function __construct ($Object){
		$this->Arr = $Object;
		return;
	}
	public function init () {
		foreach ($this->Arr as $key=>$val) {
			Y('this.'.$key.'+', YuTori::Create($val));
		}
		unset ($this->Arr);
	}
	public function call () {
		$Rt = array();
		if (count(Y('this>'))) {
			foreach (Y('this>') as $call) {
				$key = Y()->objNameByID ($call);
				$Rt[$key] = Y($call);
			}
		}
		return $Rt;
	}
}
?>